home *** CD-ROM | disk | FTP | other *** search
/ PC-SIG: World of Utilities / PC-SIG's World of Utilities (PC-SIG) (1994).iso / UTI / DISK1533.ZIP / PR.EXE < prev    next >
Text File  |  1990-05-30  |  19KB  |  392 lines

  1.  KB$="3" THEN 10300 'update
  2. 10170 IF KB$="4" THEN 11280 'delete
  3. 10180 IF KB$="M" OR KB$="m" THEN 530 'back to main
  4. 10190 GOSUB 610:GOTO 10070
  5. 10200 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  6. 10210 '     4.1.   REVIEW COURSE DESCRIPTION
  7. 10220 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  8. 10230 GOSUB 10240:GOTO 10070
  9. 10240 CLS:PRINT MNU1$:M1=1:GOSUB 540 'show courses
  10. 10250 IF CD=0 THEN GOSUB 580
  11. 10260 RETURN
  12. 10270 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  13. 10280 '     4.3.   UPDATE COURSE DESCRIPTION
  14. 10290 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  15. 10300 GOSUB 10310:GOTO 10070
  16. 10310 CLS:PRINT MNU3$
  17. 10320 RESTORE 816:GOSUB 600
  18. 10330 IF KB$<>"Y" THEN RETURN
  19. 10340 CLS:PRINT MNU3$:M1=0:GOSUB 540 'show courses
  20. 10350 IF CD=0 THEN GOSUB 580:RETURN
  21. 10360 PRINT:M1$="PRESS the line number of the course you want to update. "
  22. 10370 GOSUB 560:IF KB>0 AND KB<=CMAX AND TMP(KB)=KB THEN RN=KB:GOTO 10390
  23. 10380 PRINT:PRINT"You must choose a number from the list.":GOSUB 580:GOTO 10340
  24. 10390 RESTORE 821:GOSUB 600
  25. 10400 IF KB$<>"Y" THEN 10310
  26. 10410 '+++++      change a field     +++++
  27. 10420 GOSUB 650:GOSUB 655:GET #2,RN:GET #3,RN 'get record to be changed
  28. 10430 CLS:PRINT MNU3$: PRINT:PRINT "LINE #"
  29. 10440 PRINT " 1. Course Name  ";SPC(5);B2$
  30. 10450 PRINT " 2. Telephone    ";SPC(5);C2$
  31. 10460 PRINT " 3. Pro's  Name  ";SPC(5);D2$
  32. 10470 PRINT " 4. Par scores   ";SPC(5);". . ."
  33. 10480 PRINT " 5. Course Rating";SPC(5);". . ."
  34. 10490 PRINT " 6. Hole handicaps";SPC(4);". . ."
  35. 10500 PRINT:M1$="PRESS the number of the line you want to change. "
  36. 10510 GOSUB 560:IF KB>0 AND KB<=6 THEN 10540
  37. 10520 PRINT:PRINT "Please choose a line number from the list."
  38. 10530 GOSUB 580:GOTO 10430
  39. 10540 RESTORE 814:GOSUB 600
  40. 10550 IF KB$<>"Y" THEN 10430
  41. 10560 '+++++     name     +++++
  42. 10570 IF KB<>1 THEN 10660
  43. 10580 LNBR=CSRLIN:CNBR=POS(0)
  44. 10590 KB$=INKEY$:IF KB$<>"" THEN 10590
  45. 10600 LOCATE LNBR,CNBR:PRINT:LINE INPUT"ENTER the replacement name. ";KB$
  46. 10610 IF LEN(KB$)>0 AND LEN(KB$)<=NMAX THEN GOSUB 700:LSET B2$=KB$:GOTO 11230
  47. 10620 LOCATE LNBR+3,CNBR:PRINT"The name is too long. ";NMAX;" letters maximum. Try again."
  48. 10630 GOSUB 580:LOCATE LNBR,CNBR:FOR I=1 TO 7:PRINT SPACE$(80);:NEXT
  49. 10640 GOTO 10590
  50. 10650 '+++++     phone #     +++++
  51. 10660 IF KB<>2 THEN 10740
  52. 10670 LNBR=CSRLIN:CNBR=POS(0)
  53. 10680 KB$=INKEY$:IF KB$<>"" THEN 10680
  54. 10690 LOCATE LNBR,CNBR:PRINT:LINE INPUT"ENTER the replacement phone number. ";KB$
  55. 10700 L=LEN(KB$):IF L=8 THEN RSET C2$=KB$:GOTO 11230
  56. 10710 LOCATE LNBR+3,CNBR:PRINT"Please limit the phone number to 8 characters."
  57. 10720 GOSUB 580:LOCATE LNBR,CNBR:FOR I=1 TO 7:PRINT SPACE$(80);:NEXT:GOTO 10680
  58. 10730 '+++++     name     +++++
  59. 10740 IF KB<>3 THEN 10830
  60. 10750 LNBR=CSRLIN:CNBR=POS(0)
  61. 10760 KB$=INKEY$:IF KB$<>"" THEN 10760
  62. 10770 LOCATE LNBR,CNBR:PRINT:LINE INPUT"ENTER the replacement name. ";KB$
  63. 10780 IF LEN(KB$)>0 AND LEN(KB$)<=NMAX THEN GOSUB 700:LSET D2$=KB$:GOTO 11230
  64. 10790 LOCATE LNBR+3,CNBR:PRINT"The name is too long. ";NMAX;" letters maximum. Try again."
  65. 10800 GOSUB 580:LOCATE LNBR,CNBR:FOR I=1 TO 7:PRINT SPACE$(80);:NEXT
  66. 10810 GOTO 10770
  67. 10820 '+++++     par's     +++++
  68. 10830 IF KB<>4 THEN 10960
  69. 10840 T1=1:T$="MEN's":P$=E2$:RESTORE 827:GOSUB 600:IF KB$="Y" THEN 10860
  70. 10850 T1=0:T$="LADIES":P$=H2$:RESTORE 828:GOSUB 600:IF KB$<>"Y" THEN 11230
  71. 10860 N=1:M=18:GOSUB 730 'p$ to ps(i)
  72. 10870 T$=T$+" PAR's":M1$="Par"
  73. 10880 S=1:N=1:M=9:L=0:RESTORE 825:GOSUB 600
  74. 10890 IF KB$="Y" THEN GOSUB 740:GOTO 10880 'make a change
  75. 10900 S=1:N=1:M=9:L=9:RESTORE 826:GOSUB 600
  76. 10910 IF KB$="Y" THEN GOSUB 740:GOTO 10900 'make a change
  77. 10920 N=1:M=18:N$="":GOSUB 680 'convert PS(i) to P$
  78. 10930 IF T1=1 THEN LSET E2$=P$ ELSE LSET H2$=P$ 'changes made
  79. 10940 GOTO 11230
  80. 10950 '+++++     rating     +++++
  81. 10960 IF KB<>5 THEN 11110
  82. 10970 CLS:PRINT MNU3$:PRINT:PRINT SPC(3)"COURSE RATING"
  83. 10980 PRINT USING"1. GOLD     ##.#";CVS(K2$)
  84. 10990 PRINT USING"2. BLUE     ##.#";CVS(L2$)
  85. 11000 PRINT USING"3. WHITE    ##.#";CVS(F2$)
  86. 11010 PRINT USING"4. RED      ##.#";CVS(I2$):PRINT
  87. 11020 M1$="PRESS the line number of your choice.(1,2,3 or 4). ":GOSUB 560
  88. 11030 IF KB<1 OR KB>4 THEN GOSUB 610:GOTO 10970
  89. 11040 T1=KB:GOSUB 12400 'get new rating
  90. 11050 IF T1=1 THEN RSET K2$=MKS$(T!)
  91. 11060 IF T1=2 THEN RSET L2$=MKS$(T!)
  92. 11070 IF T1=3 THEN RSET F2$=MKS$(T!)
  93. 11080 IF T1=4 THEN RSET I2$=MKS$(T!)
  94. 11090 GOTO 11230
  95. 11100 '+++++     handicaps     +++++
  96. 11110 IF KB<>6 THEN 11230
  97. 11120 T1=1:T$="MEN's":P$=G2$:RESTORE 829:GOSUB 600:IF KB$="Y" THEN 11140
  98. 11130 T1=0:T$="LADIES":P$=J2$:RESTORE 830:GOSUB 600:IF KB$<>"Y" THEN 11230
  99. 11140 N=2:M=18:GOSUB 730 'p$ to ps(i)
  100. 11150 T$=T$+" HANDICAP's":M1$="H'cap"
  101. 11160 S=2:M=9:L=0:RESTORE 825:GOSUB 600
  102. 11170 IF KB$="Y" THEN GOSUB 740:GOTO 11160 'make a change
  103. 11180 S=2:M=9:L=9:RESTORE 826:GOSUB 600
  104. 11190 IF KB$="Y" THEN GOSUB 740:GOTO 11180 'make a change
  105. 11200 N=2:M=18:N$="":GOSUB 680 'convert PS(i) to P$
  106. 11210 IF T1=1 THEN LSET G2$=P$ ELSE LSET J2$=P$ 'changes made
  107. 11220 '+++++     update  GCDIR.DAT     +++++
  108. 11230 PUT #2,RN:PUT #3,RN:CLOSE #2,#3:CLS:PRINT "Update completed for ";B2$
  109. 11240 GCDIR$(RN)=A2B$:M1=0:GOSUB 540:GOSUB 590:RETURN
  110. 11250 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  111. 11260 '     4.4.  Delete a course from the directory
  112. 11270 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  113. 11280 GOSUB 11290:GOTO 10070
  114. 11290 CLS:PRINT MNU5$:M1=0:GOSUB 540 'show courses
  115. 11300 IF CD=0 THEN GOSUB 580:RETURN 'empty
  116. 11310 RESTORE 823:GOSUB 600:IF KB$<>"Y" THEN RETURN
  117. 11320 '
  118. 11330 PRINT:M1$="PRESS the line number of the course you want to delete. "
  119. 11340 GOSUB 560:IF KB>0 AND KB<=CMAX AND TMP(KB)=KB THEN RN=KB:GOTO 11370
  120. 11350 PRINT:PRINT"You must choose a number from the list.":GOSUB 580:GOTO 11290
  121. 11360 '+++++     test players home course
  122. 11370 J=0:T$=STR$(RN):GOSUB 660:GOSUB 641 'PDIR.DAT/TEMP.DAT
  123. 11380 FOR I=1 TO PACT:GET #4,I:IF E4$=T$ THEN J=J+1:LSET TA1$=B4$:PUT #1,J
  124. 11390 NEXT I:IF J=0 THEN 11460
  125. 11400 GOSUB 650:GET #2,RN:KB$=B2$:GOSUB 700:PRINT
  126. 11410 COLOR 0,15,0:PRINT "*** Warning *** ";:COLOR 7,0,0
  127. 11420 PRINT SPC(2)KB$;" is the home course for:":PRINT:BEEP
  128. 11430 FOR I=1 TO J:GET #1,I:PRINT TA1$;:IF FNNMODM(I,3)=0 THEN PRINT
  129. 11440 NEXT:PRINT
  130. 11450 '+++++
  131. 11460 CLOSE #1,#2,#4:RESTORE 824:GOSUB 600
  132. 11470 IF KB$<>"Y" THEN RETURN
  133. 11480 X=-1:GOSUB 640 ' reduce CACT count
  134. 11490 GOSUB 650:GOSUB 655:GET #2,RN:GET #3,RN:M1$=B2$:GOSUB 656 'init #2,#3
  135. 11500 PUT #2,RN:PUT #3,RN:CLOSE #2,#3 'write empty slots
  136. 11510 GCDIR$(RN)=A2$+B2$ 'remove course from gcdir$
  137. 11520 CLS:PRINT "Deletion completed for ";M1$
  138. 11530 M1=0:GOSUB 540:GOSUB 580:RETURN
  139. 11540 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  140. 11550 '     4.2.  Add a course to the directory
  141. 11560 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  142. 11570 GOSUB 11580:GOTO 10070
  143. 11580 CLS:PRINT MNU2$
  144. 11590 '+++++     Find empty slot for the addition     +++++
  145. 11600 FOR X=1 TO CMAX:N=CVI(LEFT$(GCDIR$(X),2)):IF N=0 THEN 11650
  146. 11610 NEXT
  147. 11620 PRINT:PRINT"The Course Directory is full.":PRINT
  148. 11630 PRINT"To add a course you must first"
  149. 11640 PRINT"delete a course from the list.":GOSUB 580:RETURN
  150. 11650 PRINT
  151. 11660 PRINT"You should have the course ratings and scorecard for the course."
  152. 11670 GOSUB 580
  153. 11680 '+++++     open #2,#3     +++++
  154. 11690 GOSUB 650:GOSUB 655:GCDIR$(X)=MKI$(X):RN=X:RSET A2$=MKI$(RN) 'record #
  155. 11700 '+++++     name     +++++
  156. 11710 KB$=INKEY$:IF KB$<>"" THEN 11710
  157. 11720 CLS:PRINT MNU2$:PRINT
  158. 11730 LINE INPUT"ENTER the name of the golf course you are adding. ";KB$
  159. 11740 L=LEN(KB$):IF L>0 AND L<=NMAX THEN 11770
  160. 11750 PRINT:PRINT"The name is too long. ";NMAX;" letters maximum.  Try again."
  161. 11760 GOSUB 580:GOTO 11710
  162. 11770 IF INSTR(KB$,"*")=0 THEN 11800
  163. 11780 PRINT:PRINT"Asterisks(*) are not allowed in the course name. Try again."
  164. 11790 GOSUB 580:GOTO 11710 'bad name
  165. 11800 GOSUB 700:LSET B2$=KB$ 'name
  166. 11810 '+++++     phone #     +++++
  167. 11820 KB$=INKEY$:IF KB$<>"" THEN 11820
  168. 11830 CLS:PRINT MNU2$:PRINT
  169. 11840 LINE INPUT"ENTER the pro shop phone number, e.g. 555-1212 . ";KB$
  170. 11850 L=LEN(KB$):IF L=8 THEN 11880
  171. 11860 PRINT:PRINT"Please limit the phone number to 8 characters."
  172. 11870 GOSUB 580:GOTO 11820
  173. 11880 RSET C2$=KB$ 'phone #
  174. 11890 '+++++     name     +++++
  175. 11900 KB$=INKEY$:IF KB$<>"" THEN 11900
  176. 11910 CLS:PRINT MNU2$:PRINT
  177. 11920 LINE INPUT "ENTER the name of the Golf Professional. ";KB$
  178. 11930 L=LEN(KB$):IF L>0 AND L<=NMAX THEN 11960
  179. 11940 PRINT:PRINT"Please limit the name to ";NMAX;" letters maximum."
  180. 11950 GOSUB 580:GOTO 11900
  181. 11960 GOSUB 700:LSET D2$=KB$ 'name
  182. 11970 '+++++     pars
  183. 11980 KB$=B2$:GOSUB 700
  184. 11990 CLS:PRINT MNU2$:PRINT
  185. 12000 PRINT"You should have the course ratings and scorecard for ";KB$;"."
  186. 12010 GOSUB 580:M1$="MENS":GOSUB 12250:LSET E2$=P$
  187. 12020 CLS:PRINT"Are the pars for Men and Ladies the same?"
  188. 12030 RESTORE 834:GOSUB 600:IF KB$="Y" THEN 12050
  189. 12040 GOSUB 580:M1$="LADIES":GOSUB 12250 'ladies
  190. 12050 LSET H2$=P$
  191. 12060 '+++++    handicap
  192. 12070 GOSUB 580:M1$="MENS":GOSUB 12540:LSET G2$=P$ 'men
  193. 12080 CLS:PRINT"Are the Handicaps for Men and Ladies the same?"
  194. 12090 RESTORE 834:GOSUB 600:IF KB$="Y" THEN 12110
  195. 12100 GOSUB 580:M1$="LADIES":GOSUB 12540 'ladies
  196. 12110 LSET J2$=P$
  197. 12120 '+++++     rating
  198. 12130 GOSUB 580:T1=1:GOSUB 12400:RSET K2$=MKS$(T!)'gold
  199. 12140 GOSUB 580:T1=2:GOSUB 12400:RSET L2$=MKS$(T!)'blue
  200. 12150 GOSUB 580:T1=3:GOSUB 12400:RSET F2$=MKS$(T!)'white
  201. 12160 GOSUB 580:T1=4:GOSUB 12400:RSET I2$=MKS$(T!)'red
  202. 12170 '+++++     create course record     +++++
  203. 12180 PUT #2,RN:PUT #3,RN:CLOSE #2,#3
  204. 12190 '+++++     Update CACT - INIT.DAT FILE     +++++
  205. 12200 X=1:GOSUB 640 'Update count of active courses
  206. 12210 GCDIR$(RN)=A2B$ 'save course description
  207. 12220 CLS:PRINT"Addition completed for ";B2$:M1=0:GOSUB 540:GOSUB 590:RETURN
  208. 12230 '+++++     subroutine to get pars for front and back nines     +++++
  209. 12240 '+++++     front side     +++++
  210. 12250 CLS:PRINT"ENTER the ";M1$;" pars for the FRONT side."
  211. 12260 PRINT:PRINT SPC(6);"Hole #  Par"
  212. 12270 S=1:N=1:M=9:L=0:GOSUB 720 'get pars
  213. 12280 PRINT:PRINT SPC(6);"Par is ";SUM
  214. 12290 RESTORE 833:GOSUB 600:T$="Change a front nine par"
  215. 12300 IF KB$="Y" THEN T1$=M1$:M1$="Par":GOSUB 740:M1$=T1$:GOTO 12290
  216. 12310 '+++++     back side     +++++
  217. 12320 CLS:PRINT"ENTER the ";M1$;" pars for the BACK side."
  218. 12330 PRINT:PRINT SPC(6);"Hole #  Par"
  219. 12340 S=1:N=1:M=9:L=9:GOSUB 720 'get pars
  220. 12350 PRINT:PRINT SPC(6);"Par is ";SUM:PRINT
  221. 12360 RESTORE 833:GOSUB 600:T$="Change a back nine par"
  222. 12370 IF KB$="Y" THEN T1$=M1$:M1$="Par":GOSUB 740:M1$=T1$:GOTO 12360
  223. 12380 N=1:N$="":M=18:GOSUB 680:RETURN 'convert PS(I) to P$
  224. 12390 '+++++     Get course rating     +++++
  225. 12400 KB$=INKEY$:IF KB$<>"" THEN 12400
  226. 12410 IF T1=1 THEN M1$="GOLD TEEs"
  227. 12420 IF T1=2 THEN M1$="BLUE TEEs"
  228. 12430 IF T1=3 THEN M1$="WHITE TEEs"
  229. 12440 IF T1=4 THEN M1$="RED TEEs"
  230. 12450 CLS:PRINT"ENTER the course rating, e.g. 71.0, for ";M1$;" at ";B2$:PRINT
  231. 12460 INPUT"If this rating is not applicable, just press the ENTER key. ",KB$
  232. 12470 IF MID$(KB$,3,1)="." AND LEN(KB$)=4 THEN 12510
  233. 12480 IF VAL(KB$)=0 THEN 12510
  234. 12490 PRINT:PRINT"Please check the course rating and re-enter."
  235. 12500 GOSUB 580:GOTO 12450
  236. 12510 T!=VAL(KB$):RETURN 'course rating
  237. 12520 '+++++      get HANDICAP #'s    +++++
  238. 12530 '+++++     front side     +++++
  239. 12540 CLS:PRINT"ENTER the "M1$;" handicap numbers for the FRONT side."
  240. 12550 PRINT:PRINT SPC(6);"Hole #  H'cap #"
  241. 12560 S=2:N=2:M=9:L=0:GOSUB 720 'get h'caps
  242. 12570 RESTORE 833:GOSUB 600:T$="Change a front nine handicap"
  243. 12580 IF KB$="Y" THEN T1$=M1$:M1$="H'cap":GOSUB 740:M1$=T1$:GOTO 12570
  244. 12590 '+++++     back side     +++++
  245. 12600 CLS:PRINT"ENTER the ";M1$;" handicap numbers for the BACK side."
  246. 12610 PRINT:PRINT SPC(6);"Hole #  H'cap #"
  247. 12620 S=2:N=2:M=9:L=9:GOSUB 720 'get h'caps
  248. 12630 RESTORE 833:GOSUB 600:T$="Change a back nine handicap"
  249. 12640 IF KB$="Y" THEN T1$=M1$:M1$="H'cap":GOSUB 740:M1$=T1$:GOTO 12630
  250. 12650 N=2:N$="":M=18:GOSUB 680:RETURN 'convert ps(i) to p$
  251. 14000 '+++++     grunt work
  252. 14010 DELETE 490-9999
  253. 14020 SAVE"b:course.asc",A
  254. 14030 RUN"b:main.bas"
  255. 15000 'for chain delete
  256. 
  257. @`Çá└α!  O o'Ç)á+└-α/1≡ 3@5`7Ç9á;└=α?A C≡ E`G≡       M≡ OQ≡     oWÇY≡  ╧]α_a≡ c@e`g≡ i≡ k└mαoq s@u`wÇyá{└}≡ ü â@à` Åëáï└ ∩Å≡ æ     ô@    ò`    ùÇ    Öá    ¢└    ¥α     
  258.  /
  259. ú@
  260. Ñ`
  261. ºÇ
  262.  »
  263. ½└
  264. ¡α
  265. » ▒≡ │@ ╡` ╖Ç ╣á ╗└ ╜α ┐ ┴  ├≡ ┼` ╟Ç ╔á ╦≡ ═α ╧≡ ╤ ╙@╒`╫Ç┘á█└▌α ß π@σ`τÇ ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷10000 '*************************************************************
  266. 10010 '*****    PC-GOLF    THE GOLFER's PROGRAM     PC-GOLF    *****
  267. 10020 '*****    Version 1.6  (C) 1983, ...,1988 Ed Chandler    *****
  268. 10030 '*************************************************************
  269. 10040 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  270. 10050 '     5. GET the golfer's score sheet
  271. 10060 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  272. 10070 CLS:PRINT MNU5$
  273. 10072 IF ROS=0 THEN 10080
  274. 10075 DEF SEG=&H40:I%=PEEK(&H17):I%=I% OR 32:POKE &H17,I% 'num lock on
  275. 10080 IF PACT>0 THEN 10120
  276. 10090 PRINT:PRINT"There are no player's scores yet, because"
  277. 10100 PRINT"no rounds have been tallied."
  278. 10110 GOSUB 580:GOTO 530 'back to main
  279. 10120 PRINT:PRINT SPC(7);"PC-GOLF's Score Sheets":PRINT
  280. 10130 PRINT SPC(3)"1.  Select a player."
  281. 10140 PRINT SPC(3);MNURT$:PRINT
  282. 10150 M1$="key":M2$="(1 or M) ":GOSUB 570
  283. 10160 IF KB=1 THEN 10190
  284. 10170 IF KB$="M" OR KB$="m" THEN 530 'back to main
  285. 10180 GOSUB 610:GOTO 10070
  286. 10190 CLS:PRINT MNU5$:X=1:GOSUB 550 'show roster
  287. 10200 IF PR=0 THEN GOSUB 590:RETURN
  288. 10210 PRINT:LINE INPUT;"ENTER the line number of the player you want. ";KB$
  289. 10220 KB=VAL(KB$):IF KB>0 AND KB<=PMAX AND TMP(KB)=KB THEN 10250
  290. 10230 GOSUB 611:GOTO 10190
  291. 10240 '+++++     PDIR.DAT  PLAYER.DAT  GCDIR.DAT     +++++
  292. 10250 GOSUB 660:GET #4,KB:GOSUB 670:GET #5,KB
  293. 10260 PRN=VAL(E4$):GOSUB 650:GOSUB 655:GET #2,PRN:GET #3,PRN:CLOSE #2,#3,#4,#5
  294. 10270 E5=CVI(E5$):J5=CVI(J5$):SSW=0 'score & putt counts,set up flag
  295. 10280 '+++++     all data is in buffers #2,#3,#4,#5     +++++
  296. 10290 IF A5$="V" THEN 10320 'ok data is valid
  297. 10300 PRINT:PRINT"There are no putts or scores in the data bank for ";B4$;
  298. 10310 GOSUB 580:GOTO 10070
  299. 10320 CLS:PRINT SPC(7);"PC-GOLF's Score Sheets":PRINT
  300. 10330 MNU1$="1.  Review the scoring tables and bar charts.":PRINT SPC(3);MNU1$
  301. 10340 MNU2$="2.  Review the putting tables and bar charts.":PRINT SPC(3);MNU2$
  302. 10350 PRINT SPC(3);MNURT$:PRINT
  303. 10360 M1$="key":M2$="(1,2 or M) ":GOSUB 570:TSW=KB
  304. 10370 IF KB=1 THEN 10410
  305. 10380 IF KB=2 THEN 10440
  306. 10390 IF KB$="M" OR KB$="m" THEN 10070
  307. 10400 GOSUB 610:GOTO 10320
  308. 10410 IF E5<>0 THEN 10480
  309. 10420 PRINT:PRINT"There are no scores in the data bank for ";B4$
  310. 10430 GOSUB 580:GOTO 10320
  311. 10440 IF J5<>0 THEN 10480
  312. 10450 PRINT:PRINT"There are no putts in the data bank for ";B4$
  313. 10460 GOSUB 580:GOTO 10320
  314. 10470 '+++++     put scores in arrays     +++++
  315. 10480 IF SSW =1 THEN 11020 'tra if set up already
  316. 10490 N=1:FOR I=1 TO 18
  317. 10500   PS(I)=CVI(MID$(G5$,N,2)) 'gross scores
  318. 10510   IF E5<>0 THEN TAVG!(I)=PS(I)/E5           'avg gr scores
  319. 10520   IF F4$="m" THEN CP(I)=VAL(MID$(E2$,I,1)) 'course pars
  320. 10530   IF F4$="f" THEN CP(I)=VAL(MID$(H2$,I,1)) 'course pars
  321. 10540   PM!(I)=TAVG!(I)-CP(I)       'plus/minus avg gr scores
  322. 10550   IF F4$="m" THEN TMP(I)=VAL(MID$(G2$,N,2)) 'hole hcaps
  323. 10552   IF F4$="f" THEN TMP(I)=VAL(MID$(J2$,N,2)) 'hole hcaps
  324. 10560   GS(I)=I                   'hole #'s & index for hole #'s
  325. 10570 N=N+2:NEXT I
  326. 10580 '+++++     AVG SCORES     +++++
  327. 10590 IF E5=0 THEN 10650
  328. 10600 FOR I=1 TO 18:TX(I)=PS(I):TX!(I)=TAVG!(I):NEXT I
  329. 10610 T=E5:T3!=3:T4!=4:T5!=5:M1$=" AVERAGE SCORES ":M2$="Avg. score  "
  330. 10620 GOSUB 11690 'avg scores display
  331. 10630 '+++++
  332. 10640 'sort for hole handicaps
  333. 10650 PRINT:PRINT"Calculating - Standby -":LOCATE CSRLIN-2,POS(0),0
  334. 10660 FOR I=1 TO 18:IX(I)=I:KEE(I)=TMP(I):NEXT 'set key for h'caps
  335. 10670 GOSUB 11610:FOR I=1 TO 18:IK(I)=IX(I):NEXT 'save HCAP index
  336. 10680 GOSUB 580
  337. 10690 '+++++     put putts in arrays     +++++
  338. 10700 IF J5=0 THEN 10900 '# putts
  339. 10710 N=1:FOR I=1 TO 18
  340. 10720   PSP(I)=CVI(MID$(L5$,N,2))  'actual putts
  341. 10730   PAVG!(I)=PSP(I)/J5         'avg gr putts
  342. 10740   PMP!(I)=PAVG!(I)-2         'plus/minus avg gr putts
  343. 10750   IF F4$="m" THEN CP(I)=VAL(MID$(E2$,I,1)) 'course pars
  344. 10760   IF F4$="f" THEN CP(I)=VAL(MID$(H2$,I,1)) 'course pars
  345. 10770   TMP(I)=VAL(MID$(G2$,N,2))  'hole hcaps
  346. 10780   GS(I)=I                    'hole #'s & index for hole #'s
  347. 10790 N=N+2:NEXT I
  348. 10800 '+++++     AVERAGE PUTTS     +++++
  349. 10810 FOR I=1 TO 18:TX(I)=PSP(I):TX!(I)=PAVG!(I):NEXT I
  350. 10820 T=J5:T3!=PR!:T4!=T3!:T5!=T3!:M1$=" AVERAGE PUTTS ":M2$="Avg. putts  "
  351. 10830 GOSUB 11690 'avg putts display
  352. 10840 'sort for plus/minus putts
  353. 10850 PRINT:PRINT"Calculating - Standby -":LOCATE CSRLIN-2,POS(0),0
  354. 10860 FOR I=1 TO 18:IX(I)=I:KEE!(I)=INT(PMP!(I)*100)*100+I:NEXT
  355. 10870 GOSUB 11650:FOR I=1 TO 18:IY(I)=IX(I):NEXT 'save +/- index
  356. 10880 GOSUB 580
  357. 10890 '+++++     potpourri     +++++
  358. 10900 GOSUB 12150 'potpourri
  359. 10910 '+++++
  360. 10920 IF E5=0 THEN 11000
  361. 10930 'sort for plus/minus scores
  362. 10940 PRINT:PRINT"Calculating - Standby -":LOCATE CSRLIN-2,POS(0),0
  363. 10950 FOR I=1 TO 18:IX(I)=I:KEE!(I)=INT(PM!(I)*100)*100+I:NEXT
  364. 10960 GOSUB 11650:FOR I=1 TO 18:DD(I)=0:IJ(I)=IX(I):NEXT 'save +/- index
  365. 10970 H=VAL(D4$):DH!=0:FOR I=1 TO 18:DH!=DH!+PM!(IJ(I))
  366. 10980 IF DH!>H THEN DD(IJ(I))=I 'set for double diamond flag
  367. 10990 NEXT I
  368. 11000 GOSUB 580:SSW=1 'flag set up done
  369. 11010 '+++++
  370. 11020 IF TSW=2 THEN 11320 'scores or putts
  371. 11030 CLS:PRINT MNU1$:PRINT:PRINT SPC(8)"PC-GOLF's Score Sheets":PRINT
  372. 11040 PRINT"1.  Hole Handicap sequence table"
  373. 11050 PRINT"2.  Plus/Minus sequence table"
  374. 11060 PRINT"3.  Average Scores bar chart"
  375. 11070 PRINT"4.  Hole Handicap bar chart"
  376. 11080 PRINT"5.  Low-to-High Score bar chart"
  377. 11082 PRINT"6.  Scoring Trend chart"
  378. 11090 PRINT"7.  Average Scores"
  379. 11100 PRINT"8.  Potpourri"
  380. 11110 PRINT"9.  Personal Best"
  381. 11120 PRINT MNURT$:PRINT
  382. 11130 M1$="key":M2$="(1,2,3,4,5,6,7,8,9 or M) ":GOSUB 570
  383. 11140 M1$="Avg.score":FOR I=1 TO 18:KEE!(I)=TAVG!(I):TX!(I)=PM!(I):NEXT I
  384. 11150 IF KB=1 THEN GOSUB 12430:GOTO 11020
  385. 11160 IF KB=2 THEN GOSUB 12550:GOTO 11020
  386. 11170 M1$="Average Score":FOR I=1 TO 18:TX!(I)=PM!(I):IX(I)=GS(I):NEXT I
  387. 11180 T=E5
  388. 11190 IF KB=3 THEN PTYP$="HS":GOSUB 12780:GOTO 11020
  389. 11200 M1$="Hole Handicap":FOR I=1 TO 18:IX(I)=IK(I):NEXT I
  390. 11210 IF KB=4 THEN PTYP$="HC":GOSUB 12780:GOTO 11020
  391. 11220 M1$="Low-to-High Score":FOR I=1 TO 18:IX(I)=IJ(I):NEXT I
  392. 11230 IF KB=5 THE